define([ "ojs/ojcore", "knockout", "jquery", "text!../template/product-home.html", "../../model/product-home", "ojL10n!resources/nls/product-home" ], function(oj, ko, $, template, ProductHomeModel, resourceBundle) { "use strict"; var vm = function(Params) { var self = this; ko.utils.extend(self, Params.rootModel); self.resource = resourceBundle; self.showPage = ko.observable(false); Params.baseModel.registerComponent("layout", "login"); Params.baseModel.registerComponent("bank-products", "home"); self.compName = ko.observable(); self.compName("bank-products"); self.landingModule = null; self.productHeaderImage = ko.observable(""); self.isLogin = ko.observable(false); Params.dashboard.backAllowed(false); Params.baseModel.registerComponent("login-form", "widgets/login"); self.userLoggedIn = ko.observable(false); self.homePage = ko.observable(true); self.label = ko.observable(); self.context = ko.observable(); self.userProfile = ko.observable(); self.userRoles = ko.observableArray(); self.goToBack = function() { history.back(); }; self.actionCardData = ko.observable(); self.type = ko.observable(); self.className = ko.observable(); self.productGroupData = ko.observable(); self.showComponent = ko.observable(true); self.hideMobileLanding = ko.observable(false); if (self.params && self.params.hideMobileLanding) { self.hideMobileLanding(true); } if (self.params && self.params.landingModule) { self.landingModule = self.params.landingModule; self.hideMobileLanding(true); } Params.baseModel.registerComponent("tooltip", "login"); Params.baseModel.registerComponent("login-carousal", "login"); Params.baseModel.registerComponent("product-groups-carousal", "login"); Params.baseModel.registerComponent("product-groups-list", "login"); Params.baseModel.registerComponent("user-information", "forgot-password"); Params.baseModel.registerComponent("reset-password", "forgot-password"); Params.baseModel.registerComponent("user-credentials", "registration"); Params.baseModel.registerComponent("locator", "atm-branch-locator"); //Params.baseModel.registerComponent("locator", "location"); Params.baseModel.registerComponent("branch-details", "location"); Params.baseModel.registerComponent("otp-verification", "base-components"); Params.baseModel.registerElement("modal-window"); Params.baseModel.registerElement("row"); Params.baseModel.registerComponent("product-groups", "login"); Params.baseModel.registerElement("page-section"); Params.baseModel.registerComponent("origination-header", "login"); //Params.baseModel.registerComponent("mobile-landing", "home"); Params.baseModel.registerComponent("scb-film-strip", "home"); Params.baseModel.registerComponent("scb-mobile-landing", "home"); Params.baseModel.registerComponent("scb-quick-link-register", "home"); self.afterRenderFilmTrip = function(){ setTimeout(function(){$('.oj-filmstrip-pages-container').css({position: 'absolute', height: '100%'});},800); } self.context = ko.observable(); self.actionCardClick = function(data, cardData) { self.homePage(false); self.type(data); self.actionCardData(cardData.data); self.className(cardData.data.productClass); Params.dashboard.loadComponent("product-groups", {}); self.compName("product-groups"); }; Params.baseModel.registerComponent("page-banner", "widgets/pre-login"); Params.baseModel.registerComponent("tools-and-calculators", "home"); Params.baseModel.registerComponent("loan-showcase", "home"); Params.baseModel.registerComponent("goals", "home"); Params.baseModel.registerComponent("company-links", "home"); self.products = ko.observable("bank-products"); var sessionStorageData = {}; self.loadProduct = function(productGroupData) { sessionStorageData.productCode = productGroupData.id; sessionStorageData.productDescription = productGroupData.description; sessionStorageData.productClassName = productGroupData.allowedProductClassName; sessionStorageData.isInPrincipleApproval = self.actionCardData().inPrincipleApproval; if (productGroupData.allowedProductClassName === "LOANS") { sessionStorageData.isCollateralRequired = productGroupData.isCollateralRequired; } if (productGroupData.productTypeConstants) { sessionStorageData.productType = productGroupData.productTypeConstants; } sessionStorage.sessionStorageData = JSON.stringify(sessionStorageData); location.search = location.search.replace(/(\?module=)([\w-]*)([&]?.*)/g, "$1origination"); }; }; return { viewModel: vm, template: template }; });